package com.xxx.mall.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.xxx.mall.dto.AttrDTO;
import com.xxx.mall.model.Attr;
import com.xxx.mall.vo.AttrVO;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * <p>
 * 属性信息 Mapper 接口
 * </p>
 *
 * @author 邢晨旭
 * @since 2023-11-23
 */
public interface AttrMapper extends BaseMapper<Attr> {

    /**
     * 分页查询属性列表
     *
     * @param begin   开始位置
     * @param size    每页大小
     * @param attrDTO 查询参数
     */
    List<AttrVO> pageList(@Param("begin") Integer begin, @Param("size") Integer size, @Param("attr") AttrDTO attrDTO);

    /**
     * 统计属性数量
     *
     * @param attrDTO
     * @return
     */
    Long countAttr(@Param("attr") AttrDTO attrDTO);

    /**
     * 根据属性id查询属性
     * @param id
     * @return
     */
    AttrVO selectByAttrId(Long id);

    /**
     * 保存属性
     * @param id
     */
    void removeById(Long id);

    List<AttrVO> queryListByCategoryIds(@Param("ids") List<Long> ids,@Param("attrType") Integer attrType);
}
